@echo off
set INA=..\..\parserTestFiles\annexAIn
set INE=..\..\parserTestFiles\errorIn
set INO=..\..\parserTestFiles\okIn
set OUTA=..\..\parserTestFiles\annexAOut
set OUTE=..\..\parserTestFiles\errorOut
set OUTO=..\..\parserTestFiles\okOut
set TESTOK=call parseOneOK.bat
set TEST=call parseOne.bat

:: syntactically correct programs from DMIS 5.2
%TESTOK% %INA%\A.01.dmi            || goto END
%TESTOK% %INA%\A.02.dmi            || goto END
%TESTOK% %INA%\A.03.dmi            || goto END
%TESTOK% %INA%\A.04.2.dmi          || goto END
%TESTOK% %INA%\A.05.dmi            || goto END
%TESTOK% %INA%\A.06.dmi            || goto END
%TESTOK% %INA%\A.07.dmi            || goto END
%TESTOK% %INA%\A.08.1.dmi          || goto END
%TESTOK% %INA%\A.08.2.dmi          || goto END
%TESTOK% %INA%\A.08.3.dmi          || goto END
%TESTOK% %INA%\A.09.dmi            || goto END
%TESTOK% %INA%\A.10.dmi            || goto END
%TESTOK% %INA%\A.11.dmi            || goto END
%TESTOK% %INA%\A.12.dmi            || goto END
%TESTOK% %INA%\A.13.dmi            || goto END
%TESTOK% %INA%\A.14.dmi            || goto END
%TESTOK% %INA%\A.15.dmi            || goto END
%TESTOK% %INA%\A.16.dmi            || goto END
%TESTOK% %INA%\A.17.dmi            || goto END
%TESTOK% %INA%\A.18.dmi            || goto END
%TESTOK% %INA%\A.19.1.dmi          || goto END
%TESTOK% %INA%\A.19.2.dmi          || goto END
%TESTOK% %INA%\A.20.dmi            || goto END
%TESTOK% %INA%\A.21.dmi            || goto END
%TESTOK% %INA%\A.22.1.dmi          || goto END
%TESTOK% %INA%\A.22.2.dmi          || goto END
%TESTOK% %INA%\A.23.dmi            || goto END
%TESTOK% %INA%\A.24.dmi            || goto END
%TESTOK% %INA%\A.25.1.dmi          || goto END
%TESTOK% %INA%\A.25.2.dmi          || goto END
%TESTOK% %INA%\A.25.3.dmi          || goto END
%TESTOK% %INA%\A.26.dmi            || goto END
%TESTOK% %INA%\A.27.dmi            || goto END
%TEST% %INA%\A.28.dmi            %OUTA%\A.28.out   || goto END
%TESTOK% %INA%\A.29.dmi            || goto END
%TESTOK% %INA%\A.30.1.dmi          || goto END
%TESTOK% %INA%\A.30.2.dmi          || goto END
%TESTOK% %INA%\A.30.3.dmi          || goto END
%TESTOK% %INA%\A.30.4.dmi          || goto END
%TESTOK% %INA%\A.30.5.dmi          || goto END
%TESTOK% %INA%\A.30.6.dmi          || goto END
%TESTOK% %INA%\A.30.7.dmi          || goto END
%TESTOK% %INA%\A.31.dmi            || goto END
%TESTOK% %INA%\A.32.dmi            || goto END
%TESTOK% %INA%\A.33.dmi            || goto END
%TESTOK% %INA%\A.34.1.dmi          || goto END
%TESTOK% %INA%\A.34.2.dmi          || goto END
%TESTOK% %INA%\A.34.3.dmi          || goto END
%TESTOK% %INA%\A.35.dmi            || goto END
%TESTOK% %INA%\A.36.dmi            || goto END
%TESTOK% %INA%\A.37.dmi            || goto END
%TESTOK% %INA%\A.38.dmi            || goto END
%TESTOK% %INA%\resume.dmi          || goto END

:: syntactically correct programs testing specific DMIS commands
%TESTOK% %INO%\aclrat1.dmi           || goto END
%TESTOK% %INO%\algdef1.dmi           || goto END
%TESTOK% %INO%\assign1.dmi           || goto END
%TESTOK% %INO%\badtst1.dmi           || goto END
%TESTOK% %INO%\bound1.dmi            || goto END
%TESTOK% %INO%\calib1.dmi            || goto END
%TESTOK% %INO%\call1.dmi             || goto END
%TESTOK% %INO%\case1.dmi             || goto END
%TESTOK% %INO%\clmpid1.dmi           || goto END
%TESTOK% %INO%\clmpid2.dmi           || goto END
%TESTOK% %INO%\clmpsn1.dmi           || goto END
%TESTOK% %INO%\close1.dmi            || goto END
%TESTOK% %INO%\cmpntgrp1.dmi         || goto END
%TESTOK% %INO%\cnfrmrul1.dmi         || goto END
%TESTOK% %INO%\const1.dmi            || goto END
%TESTOK% %INO%\const2.dmi            || goto END
%TESTOK% %INO%\const3.dmi            || goto END
%TESTOK% %INO%\const4.dmi            || goto END
%TESTOK% %INO%\const5.dmi            || goto END
%TESTOK% %INO%\const6.dmi            || goto END
%TESTOK% %INO%\const7.dmi            || goto END
%TESTOK% %INO%\const8.dmi            || goto END
%TESTOK% %INO%\const9.dmi            || goto END
%TESTOK% %INO%\const10.dmi           || goto END
%TESTOK% %INO%\const11.dmi           || goto END
%TESTOK% %INO%\const12.dmi           || goto END
%TESTOK% %INO%\const13.dmi           || goto END
%TESTOK% %INO%\const14.dmi           || goto END
%TESTOK% %INO%\const15.dmi           || goto END
%TESTOK% %INO%\crgdef1.dmi           || goto END
%TESTOK% %INO%\crmode1.dmi           || goto END
%TESTOK% %INO%\croscl1.dmi           || goto END
%TESTOK% %INO%\crslct1.dmi           || goto END
%TESTOK% %INO%\cutcom1.dmi           || goto END
%TESTOK% %INO%\czone1.dmi            || goto END
%TESTOK% %INO%\czslct1.dmi           || goto END
%TESTOK% %INO%\datdef1.dmi           || goto END
%TESTOK% %INO%\datset1.dmi           || goto END
%TESTOK% %INO%\dattrgdef1.dmi        || goto END
%TESTOK% %INO%\decl1.dmi             || goto END
%TESTOK% %INO%\decpl1.dmi            || goto END
%TESTOK% %INO%\delete1.dmi           || goto END
%TESTOK% %INO%\device1.dmi           || goto END
%TESTOK% %INO%\dftcas1.dmi           || goto END
%TESTOK% %INO%\disply1.dmi           || goto END
%TESTOK% %INO%\dmehw1.dmi            || goto END
%TESTOK% %INO%\dmeid1.dmi            || goto END
%TESTOK% %INO%\dmesw1.dmi            || goto END
%TESTOK% %INO%\dmeswi1.dmi           || goto END
%TESTOK% %INO%\dmeswv1.dmi           || goto END
%TESTOK% %INO%\dmis1.dmi             || goto END
%TESTOK% %INO%\dmismd1.dmi           || goto END
%TESTOK% %INO%\dmismn1.dmi           || goto END
%TESTOK% %INO%\do1.dmi               || goto END
%TESTOK% %INO%\else1.dmi             || goto END
%TESTOK% %INO%\endcas1.dmi           || goto END
%TESTOK% %INO%\enddo1.dmi            || goto END
%TESTOK% %INO%\endfil1.dmi           || goto END
%TESTOK% %INO%\endgo1.dmi            || goto END
%TESTOK% %INO%\endif1.dmi            || goto END
%TESTOK% %INO%\endmac1.dmi           || goto END
%TESTOK% %INO%\endmes1.dmi           || goto END
%TESTOK% %INO%\endsel1.dmi           || goto END
%TESTOK% %INO%\endsimreqt1.dmi       || goto END
%TESTOK% %INO%\endxtn1.dmi           || goto END
%TESTOK% %INO%\equate1.dmi           || goto END
%TESTOK% %INO%\error1.dmi            || goto END
%TESTOK% %INO%\eval1.dmi             || goto END
%TESTOK% %INO%\extens1.dmi           || goto END
%TESTOK% %INO%\extfil1.dmi           || goto END
%TESTOK% %INO%\featArc1.dmi          || goto END
%TESTOK% %INO%\featArc2.dmi          || goto END
%TESTOK% %INO%\featCircle1.dmi       || goto END
%TESTOK% %INO%\featCompound1.dmi     || goto END
%TESTOK% %INO%\featCone1.dmi         || goto END
%TESTOK% %INO%\featConradsegmnt1.dmi || goto END
%TESTOK% %INO%\featCparln1.dmi       || goto END
%TESTOK% %INO%\featCylndr1.dmi       || goto END
%TESTOK% %INO%\featCylradsegmnt1.dmi || goto END
%TESTOK% %INO%\featEdgept1.dmi       || goto END
%TESTOK% %INO%\featEllips1.dmi       || goto END
%TESTOK% %INO%\featElongcyl1.dmi     || goto END
%TESTOK% %INO%\featGcurve1.dmi       || goto END
%TESTOK% %INO%\featGeom1.dmi         || goto END
%TESTOK% %INO%\featGsurf1.dmi        || goto END
%TESTOK% %INO%\featLine1.dmi         || goto END
%TESTOK% %INO%\featObject1.dmi       || goto END
%TESTOK% %INO%\featParpln1.dmi       || goto END
%TESTOK% %INO%\featPatern1.dmi       || goto END
%TESTOK% %INO%\featPlane1.dmi        || goto END
%TESTOK% %INO%\featPoint1.dmi        || goto END
%TESTOK% %INO%\featRctngl1.dmi       || goto END
%TESTOK% %INO%\featRevsurf1.dmi      || goto END
%TESTOK% %INO%\featSphere1.dmi       || goto END
%TESTOK% %INO%\featSphradsegmnt1.dmi || goto END
%TESTOK% %INO%\featSympln1.dmi       || goto END
%TESTOK% %INO%\featTorradsegmnt1.dmi || goto END
%TESTOK% %INO%\featTorus1.dmi        || goto END
%TESTOK% %INO%\fedrat1.dmi           || goto END
%TESTOK% %INO%\fildef1.dmi           || goto END
%TESTOK% %INO%\filnam1.dmi           || goto END
%TESTOK% %INO%\finpos1.dmi           || goto END
%TESTOK% %INO%\fixtid1.dmi           || goto END
%TESTOK% %INO%\fixtsn1.dmi           || goto END
%TESTOK% %INO%\fly1.dmi              || goto END
%TESTOK% %INO%\from1.dmi             || goto END
%TESTOK% %INO%\geoalg1.dmi           || goto END
%TESTOK% %INO%\geoalg2.dmi           || goto END
%TESTOK% %INO%\geom1.dmi             || goto END
%TESTOK% %INO%\gohome1.dmi           || goto END
%TESTOK% %INO%\gotarg1.dmi           || goto END
%TESTOK% %INO%\goto1.dmi             || goto END
%TESTOK% %INO%\group1.dmi            || goto END
%TESTOK% %INO%\if1.dmi               || goto END
%TESTOK% %INO%\includ1.dmi           || goto END
%TESTOK% %INO%\iterat1.dmi           || goto END
%TESTOK% %INO%\jumpto1.dmi           || goto END
%TESTOK% %INO%\keychar1.dmi          || goto END
%TESTOK% %INO%\litdef1.dmi           || goto END
%TESTOK% %INO%\litdef2.dmi           || goto END
%TESTOK% %INO%\locate1.dmi           || goto END
%TESTOK% %INO%\lotid1.dmi            || goto END
%TESTOK% %INO%\macro1.dmi            || goto END
%TESTOK% %INO%\macro2.dmi            || goto END
%TESTOK% %INO%\macro3.dmi            || goto END
%TESTOK% %INO%\macro4.dmi            || goto END
%TESTOK% %INO%\macro5.dmi            || goto END
%TESTOK% %INO%\matdef1.dmi           || goto END
%TESTOK% %INO%\meas1.dmi             || goto END
%TESTOK% %INO%\meas2.dmi             || goto END
%TESTOK% %INO%\mfgdev1.dmi           || goto END
%TESTOK% %INO%\mode1.dmi             || goto END
%TESTOK% %INO%\obtain1.dmi           || goto END
%TESTOK% %INO%\obtainCT.dmi          || goto END
%TESTOK% %INO%\obtainIP.dmi          || goto END
%TESTOK% %INO%\obtainMC.dmi          || goto END
%TESTOK% %INO%\obtainQI.dmi          || goto END
%TESTOK% %INO%\obtainRY.dmi          || goto END
%TESTOK% %INO%\open1.dmi             || goto END
%TESTOK% %INO%\operid1.dmi           || goto END
%TESTOK% %INO%\output1.dmi           || goto END
%TESTOK% %INO%\pameas1.dmi           || goto END
%TESTOK% %INO%\partid1.dmi           || goto END
%TESTOK% %INO%\partrv1.dmi           || goto END
%TESTOK% %INO%\partsn1.dmi           || goto END
%TESTOK% %INO%\path1.dmi             || goto END
%TESTOK% %INO%\planid1.dmi           || goto END
%TESTOK% %INO%\pop1.dmi              || goto END
%TESTOK% %INO%\prcomp1.dmi           || goto END
%TESTOK% %INO%\prevop1.dmi           || goto END
%TESTOK% %INO%\procid1.dmi           || goto END
%TESTOK% %INO%\prompt1.dmi           || goto END
%TESTOK% %INO%\psthru1.dmi           || goto END
%TESTOK% %INO%\ptbuff1.dmi           || goto END
%TESTOK% %INO%\ptmeas1.dmi           || goto END
%TESTOK% %INO%\push1.dmi             || goto END
%TESTOK% %INO%\qisdef1.dmi           || goto END
%TESTOK% %INO%\rapid1.dmi            || goto END
%TESTOK% %INO%\read1.dmi             || goto END
%TESTOK% %INO%\recall1.dmi           || goto END
%TESTOK% %INO%\refmnt1.dmi           || goto END
%TESTOK% %INO%\report1.dmi           || goto END
%TESTOK% %INO%\resume1.dmi           || goto END
%TESTOK% %INO%\rmeas1.dmi            || goto END
%TESTOK% %INO%\rmeas2.dmi            || goto END
%TESTOK% %INO%\rmeas3.dmi            || goto END
%TESTOK% %INO%\rmeas4.dmi            || goto END
%TESTOK% %INO%\rmeas5.dmi            || goto END
%TESTOK% %INO%\rmeas6.dmi            || goto END
%TESTOK% %INO%\rmeas7.dmi            || goto END
%TESTOK% %INO%\rotab1.dmi            || goto END
%TESTOK% %INO%\rotate1.dmi           || goto END
%TESTOK% %INO%\rotdef1.dmi           || goto END
%TESTOK% %INO%\rotset1.dmi           || goto END
%TESTOK% %INO%\save1.dmi             || goto END
%TESTOK% %INO%\scnmod1.dmi           || goto END
%TESTOK% %INO%\scnset1.dmi           || goto END
%TESTOK% %INO%\scnset2.dmi           || goto END
%TESTOK% %INO%\select1.dmi           || goto END
%TESTOK% %INO%\sensor1.dmi           || goto END
%TESTOK% %INO%\simreqt1.dmi          || goto END
%TESTOK% %INO%\snsdef1.dmi           || goto END
%TESTOK% %INO%\snsdef2.dmi           || goto END
%TESTOK% %INO%\snsdef3.dmi           || goto END
%TESTOK% %INO%\snsdef4.dmi           || goto END
%TESTOK% %INO%\snsdef5.dmi           || goto END
%TESTOK% %INO%\snsdef6.dmi           || goto END
%TESTOK% %INO%\snset1.dmi            || goto END
%TESTOK% %INO%\snsgrp1.dmi           || goto END
%TESTOK% %INO%\snslct1.dmi           || goto END
%TESTOK% %INO%\snsmnt1.dmi           || goto END
%TESTOK% %INO%\tecomp1.dmi           || goto END
%TESTOK% %INO%\text1.dmi             || goto END
%TESTOK% %INO%\thldef1.dmi           || goto END
%TESTOK% %INO%\tolAngl1.dmi          || goto END
%TESTOK% %INO%\tolAnglB1.dmi         || goto END
%TESTOK% %INO%\tolAnglR1.dmi         || goto END
%TESTOK% %INO%\tolAnglWrt1.dmi       || goto END
%TESTOK% %INO%\tolCirlty1.dmi        || goto END
%TESTOK% %INO%\tolCompos1.dmi        || goto END
%TESTOK% %INO%\tolConcen1.dmi        || goto END
%TESTOK% %INO%\tolCortol1.dmi        || goto END
%TESTOK% %INO%\tolCprofl1.dmi        || goto END
%TESTOK% %INO%\tolCprofs1.dmi        || goto END
%TESTOK% %INO%\tolCrnout1.dmi        || goto END
%TESTOK% %INO%\tolCylcty1.dmi        || goto END
%TESTOK% %INO%\tolDiam1.dmi          || goto END
%TESTOK% %INO%\tolDistB1.dmi         || goto END
%TESTOK% %INO%\tolDistWrt1.dmi       || goto END
%TESTOK% %INO%\tolFlat1.dmi          || goto END
%TESTOK% %INO%\tolGtol1.dmi          || goto END
%TESTOK% %INO%\tolParlel1.dmi        || goto END
%TESTOK% %INO%\tolPerp1.dmi          || goto END
%TESTOK% %INO%\tolPos1.dmi           || goto END
%TESTOK% %INO%\tolProfl1.dmi         || goto END
%TESTOK% %INO%\tolProfp1.dmi         || goto END
%TESTOK% %INO%\tolProfs1.dmi         || goto END
%TESTOK% %INO%\tolRad1.dmi           || goto END
%TESTOK% %INO%\tolStrght1.dmi        || goto END
%TESTOK% %INO%\tolSym1.dmi           || goto END
%TESTOK% %INO%\tolTrnout1.dmi        || goto END
%TESTOK% %INO%\tolUsetol1.dmi        || goto END
%TESTOK% %INO%\tolWidth1.dmi         || goto END
%TESTOK% %INO%\tooldf1.dmi           || goto END
%TESTOK% %INO%\trans1.dmi            || goto END
%TESTOK% %INO%\uncertalg1.dmi        || goto END
%TESTOK% %INO%\uncertset1.dmi        || goto END
%TESTOK% %INO%\units1.dmi            || goto END
%TESTOK% %INO%\value1.dmi            || goto END
%TESTOK% %INO%\value2.dmi            || goto END
%TESTOK% %INO%\value3.dmi            || goto END
%TESTOK% %INO%\value4.dmi            || goto END
%TESTOK% %INO%\value5.dmi            || goto END
%TESTOK% %INO%\vform1.dmi            || goto END
%TESTOK% %INO%\windef1.dmi           || goto END
%TESTOK% %INO%\windef2.dmi           || goto END
%TESTOK% %INO%\wkplan1.dmi           || goto END
%TESTOK% %INO%\wrist1.dmi            || goto END
%TESTOK% %INO%\write1.dmi            || goto END
%TESTOK% %INO%\xtern1.dmi            || goto END
%TESTOK% %INO%\xtract1.dmi           || goto END

:: syntactically correct programs testing special features
%TEST% %INO%\confusing.dmi         %OUTO%\confusing.out || goto END
%TESTOK% %INO%\exprsArith.dmi        || goto END
%TESTOK% %INO%\exprsLogic.dmi        || goto END
%TESTOK% %INO%\exprsVector.dmi       || goto END
%TESTOK% %INO%\funcsBool.dmi         || goto END
%TESTOK% %INO%\funcsChar.dmi         || goto END
%TESTOK% %INO%\funcsInt.dmi          || goto END
%TESTOK% %INO%\funcsReal.dmi         || goto END
%TESTOK% %INO%\funcsVec.dmi          || goto END
%TESTOK% %INO%\preTest1.dmi          || goto END
%TESTOK% %INO%\preTest2.dmi          || goto END
%TESTOK% %INO%\preTest3.dmi          || goto END
%TESTOK% %INO%\preTest4.dmi          || goto END

:: programs with syntactic errors
%TEST% %INE%\callError1.dmi         %OUTE%\callError1.out         || goto END
%TEST% %INE%\callError2.dmi         %OUTE%\callError2.out         || goto END
%TEST% %INE%\featgcurveError.dmi    %OUTE%\featgcurveError.out    || goto END
%TEST% %INE%\featgsurfError.dmi     %OUTE%\featgsurfError.out     || goto END
%TEST% %INE%\featrevsurfError.dmi   %OUTE%\featrevsurfError.out   || goto END
%TEST% %INE%\fileEndInDmisOffError.dmi %OUTE%\fileEndInDmisOffError.out || goto END
%TEST% %INE%\fileEndInIfError.dmi   %OUTE%\fileEndInIfError.out   || goto END
%TEST% %INE%\fileEndInMeasError.dmi %OUTE%\fileEndInMeasError.out || goto END
%TEST% %INE%\funcsRealError.dmi     %OUTE%\funcsRealError.out     || goto END
%TEST% %INE%\groupError.dmi         %OUTE%\groupError.out         || goto END
%TEST% %INE%\macroArgRefError.dmi   %OUTE%\macroArgRefError.out   || goto END
%TEST% %INE%\macroArgTwiceError.dmi %OUTE%\macroArgTwiceError.out || goto END
%TEST% %INE%\macroEndmacError.dmi   %OUTE%\macroEndmacError.out   || goto END
%TEST% %INE%\pathError.dmi          %OUTE%\pathError.out          || goto END
%TEST% %INE%\preTestContinueError.dmi  %OUTE%\preTestContinueError.out  || goto END
%TEST% %INE%\preTestCrMissingError.dmi %OUTE%\preTestCrMissingError.out || goto END
%TEST% %INE%\preTestLfMissingError.dmi %OUTE%\preTestLfMissingError.out || goto END
%TEST% %INE%\preTestNewlineError.dmi   %OUTE%\preTestNewlineError.out   || goto END
%TEST% %INE%\preTestUnixEndError.dmi   %OUTE%\preTestUnixEndError.out   || goto END
%TEST% %INE%\promptError.dmi        %OUTE%\promptError.out        || goto END
del junk*
del temp*
:END
set INA=
set INE=
set INO=
set OK=
set OUTE=
set TEST=
